NOTE

1.36 MySQL InnoDB

1. InnoDB Features 1.1. Supports Transactions - InnoDB Transactions.md 1.2. Supports Row-Level Locks - MySQL Locks.md 1.3. Supports MVCC - InnoDB MVCC.md 2. InnoDB Architecture 2.1. Memory Layer 2.1.1. Buffer Pool - Read buffer; its purpose is to improve InnoDB performance, accelerate read requests, and avoid disk I/O for every data access

DatabasesCreated Updated 1 min readhistorical

This is a historical learning note and may contain outdated or incomplete understanding.

1. InnoDB Features

1.1. Supports Transactions

1.2. Supports Row-Level Locks

1.3. Supports MVCC

2. InnoDB Architecture

1

2.1. Memory Layer

2.1.1. Buffer Pool

  • Read buffer. Its purpose is to improve InnoDB performance, accelerate read requests, and avoid disk I/O for every data access.
  • InnoDB Buffer Pool.md

2.1.2. Change Buffer

  • Write buffer. Its purpose is to improve InnoDB performance, accelerate write requests, and avoid disk I/O for every write.
  • redo log mainly saves the I/O cost of random disk writes by converting them into sequential writes, while change buffer mainly saves the I/O cost of random disk reads.

2.1.3. Log Buffer

  • Log buffer. Its purpose is to improve InnoDB performance by storing data that will be written to log files on disk; the contents of the buffer are periodically flushed to disk.

2.1.4. Adaptive Hash Index

  • Adaptive hash index. Its purpose is to improve InnoDB performance by building hash indexes using prefixes of index keys to increase query speed.

2.2. Disk Layer

2.2.1. Tables

2.2.2. Indexes

2.2.3. Tablespaces

2.2.4. Redo Log

  • A log that records DML operations and is used for data recovery after a crash.
  • InnoDB redo log.md

2.2.5. Undo Logs

  • Snapshots from before data changes, which can be used to roll back data.
  • InnoDB undo log.md

3. References

Discussion

Sign in with GitHub to comment. Discussions are stored as GitHub Issues.View on GitHub